﻿using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace PROAD.atendimento.Consulta
{
    public partial class ConsultaPrincipal : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if(!IsPostBack){

                if (Session["CO_PROFISSIONAL"] != null)
                {
                    CarregarAgendas();
                }
                else {
                    Response.Redirect("/Login.aspx");
                }
            }
        }

        protected void CarregarAgendas()
        {
            var metEsf = new DADOS.esf.metEsf();

            var listEs = metEsf.ListarESProfissional(Session["CO_PROFISSIONAL"].ToString());

            if(listEs != null)
            {
                if(listEs.Tables[0].Rows.Count > 0)
                {
                    var metAgenda = new DADOS.agenda.metAgenda();
                    int count = 1;
                    foreach (DataRow objEs in listEs.Tables[0].Rows)
                    {
                        var ob = metEsf.Selecionar(Convert.ToInt32(objEs["CO_ES"].ToString()));
                        switch (count)
                        {
                            case 1:
                                RadEquipe1.Title = "Agenda da " + ob.NO_ES;
                                RadProf1.Title = "Profissionais da " + ob.NO_ES;
                                AgendaEs1.DataSource = metAgenda.ListarAgendaEquipeTop10(objEs["CO_ES"].ToString());
                                AgendaEs1.DataBind();
                                Prof1.DataSource = metEsf.ListarProfEquipe(objEs["CO_ES"].ToString());
                                Prof1.DataBind();
                                break;
                            case 2:
                                RadEquipe2.Title = "Agenda da " + ob.NO_ES;
                                RadProf2.Title = "Profissionais da " + ob.NO_ES;
                                AgendaEs2.DataSource = metAgenda.ListarAgendaEquipeTop10(objEs["CO_ES"].ToString());
                                AgendaEs2.DataBind();
                                Prof2.DataSource = metEsf.ListarProfEquipe(objEs["CO_ES"].ToString());
                                Prof2.DataBind();
                                break;
                            case 3:
                                RadEquipe3.Title = "Agenda da " + ob.NO_ES;
                                RadProf3.Title = "Profissionais da " + ob.NO_ES;
                                AgendaEs3.DataSource = metAgenda.ListarAgendaEquipeTop10(objEs["CO_ES"].ToString());
                                AgendaEs3.DataBind();
                                Prof3.DataSource = metEsf.ListarProfEquipe(objEs["CO_ES"].ToString());
                                Prof3.DataBind();
                                break;
                        }
                        count++;
                    }

                    int intNrEquipe = Convert.ToInt32(listEs.Tables[0].Rows.Count);

                    switch (intNrEquipe)
                    {
                        case 1:
                            RadZoneEquipe1.Visible = true;
                            RadZoneProf1.Visible = true;

                            RadZoneEquipe2.Visible = false;
                            RadZoneProf2.Visible = false;

                            RadZoneEquipe3.Visible = false;
                            RadZoneProf3.Visible = false;
                            break;
                        case 2:
                            RadZoneEquipe1.Visible = true;
                            RadZoneProf1.Visible = true;

                            RadZoneEquipe2.Visible = true;
                            RadZoneProf2.Visible = true;

                            RadZoneEquipe3.Visible = false;
                            RadZoneProf3.Visible = false;
                            break;
                        case 3:
                            RadZoneEquipe1.Visible = true;
                            RadZoneProf1.Visible = true;

                            RadZoneEquipe2.Visible = true;
                            RadZoneProf2.Visible = true;

                            RadZoneEquipe3.Visible = true;
                            RadZoneProf3.Visible = true;
                            break;
                           
                    }
                }
            }

            
        }

        protected void AgendaEs1_RowCommand(object sender, GridViewCommandEventArgs e)
        {
            var acao = e.CommandName;
            var idAgenda = e.CommandArgument;
            var metAgenda = new DADOS.agenda.metAgenda();
            var objUsuario = metAgenda.PegarUusarioAgenda(Convert.ToInt32(idAgenda));

            switch (acao)
            {
                case "Atender":
                    Session["CO_USUARIO"] = objUsuario.CO_USUARIO;
                    Session["NO_NOME"] = objUsuario.NO_NOME;
                    Response.Redirect("/atendimento/Consulta/ConsultaDadosPaciente.aspx");
                    break;
            }

        }

        protected void AgendaEs2_RowCommand(object sender, GridViewCommandEventArgs e)
        {
            var acao = e.CommandName;
            var idAgenda = e.CommandArgument;
            var metAgenda = new DADOS.agenda.metAgenda();
            var objUsuario = metAgenda.PegarUusarioAgenda(Convert.ToInt32(idAgenda));

            switch (acao)
            {
                case "Atender":
                    Session["CO_USUARIO"] = objUsuario.CO_USUARIO;
                    Session["NO_NOME"] = objUsuario.NO_NOME;
                    Response.Redirect("/atendimento/Consulta/ConsultaDadosPaciente.aspx");
                    break;
            }

        }

        protected void AgendaEs3_RowCommand(object sender, GridViewCommandEventArgs e)
        {
            var acao = e.CommandName;
            var idAgenda = e.CommandArgument;
            var metAgenda = new DADOS.agenda.metAgenda();
            var objUsuario = metAgenda.PegarUusarioAgenda(Convert.ToInt32(idAgenda));

            switch (acao)
            {
                case "Atender":
                    Session["CO_USUARIO"] = objUsuario.CO_USUARIO;
                    Session["NO_NOME"] = objUsuario.NO_NOME;
                    Response.Redirect("/atendimento/Consulta/ConsultaDadosPaciente.aspx");
                    break;
            }

        }
    }
}